package com.fwj.auth.api.user;

import com.alibaba.fastjson.JSONObject;
import com.fwj.auth.entity.user.UserBaseInfo;
import com.fwj.auth.entity.user.UserExtendAccount;
import com.fwj.core.common.model.ResponseDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Author: fwj
 * @Data: 2022/4/13 18:56
 * @Version 1.0
 * @Description:
 */


public interface UserService {

    /**
     * 用户注册
     * */
    ResponseDTO saveUserExtendAccount(UserExtendAccount userExtendAccount, String identityCode);
    /**
     * 根据账号获取用户信息
     * */
    List<UserExtendAccount> getLoginInfo(String s);
    /**
     * 检测用户是否存在
     * */
    boolean checkUserExists(UserExtendAccount userExtendAccount);
    /**
     * 用户注销
     * */
    ResponseDTO logout(HttpServletRequest request);

    /**
     * 根据账号获取用户基本信息
     * */
    UserBaseInfo findUserByAccount(String name);

    /**
     * 用户绑定其他信息
     * */
    ResponseDTO saveBindAccount(UserExtendAccount userExtendAccount,UserBaseInfo userBaseInfo);
    /**
     * 获取用户绑定信息
     * */
    ResponseDTO getBindInfo(UserBaseInfo userBaseInfo);

    /**
     * 向用户发送注册验证码
     * */
    ResponseDTO registerIdentifyingCode(JSONObject jsonObject);
}
